/*
 * @Author: NeverLeave 
 * @Date: 2019-10-16 16:44:38 
 * @Last Modified by: gtw
 * @Last Modified time: 2019-10-16 16:45:02
 */

// 验证是否整数1
export function isInteger(rule, value, callback) {
    if (!Number(value)) {
        callback(new Error('请输入正整数'));
    } else {
        let re = /^[0-9]*[1-9][0-9]*$/;
        let rsCheck = re.test(value);
        if (!rsCheck) {
            callback(new Error('请输入正整数'));
        } else {
            callback();
        }
    }

}

// 验证是否是[0-1]的小数
export function isDecimal(rule, value, callback) {
    if (!Number(value)) {
        callback(new Error('请输入数字'));
    } else {
        if (value < 0 || value > 1) {
            callback(new Error('请输入[0,1]之间的数字'));
        } else {
            callback();
        }
    }

}
// 验证是否是中文字段
export function isCH(rule, value, callback) {
    let re = /[\u4e00-\u9fa5]/gm;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入中文字段！'));
    } else {
        callback();
    }

}
// 验证是否是英文字段
export function isEN(rule, value, callback) {
    let re = /^[a-z]+$/i;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入英文字段！'));
    } else {
        callback();
    }

}
// 验证是否是英文、数字、下划线
export function isEAN(rule, value, callback) {
    let re = /^\w+$/;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入英文、数字、下划线！'));
    } else {
        callback();
    }

}
// 验证是否是正确的邮箱地址
export function isEemail(rule, value, callback) {
    let re = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入正确的邮箱地址！'));
    } else {
        callback();
    }

}
// 验证是否是正确的手机号
export function isEemail(rule, value, callback) {
    let re = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入正确的手机号！'));
    } else {
        callback();
    }

}
// 验证是否是正确的身份证号
export function isEemail(rule, value, callback) {
    let re = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
    let rsCheck = re.test(value);
    if (!rsCheck) {
        callback(new Error('请输入正确的身份证号！'));
    } else {
        callback();
    }

}

// 
//   使用时在相应表单页面引入，关键字段为 "validator"

// export {
//     isInteger,
//     isDecimal
// }